﻿using System;
using System.Collections.Generic;
namespace CoreSoft.Frame.Entity
{

    [Serializable]
    /// <summary>
    /// 发货单主表 
    /// 数据表:dispatchlist
    /// </summary>
    public class Dispatchlist
    {
        #region 构造函数
        public Dispatchlist()
        {
        }
        #endregion
        
        #region 表字段
        /// <summary>
        /// 主键
        /// </summary>
        public String Id
        {
            get;
            set;
        }
        
        /// <summary>
        /// 发货单号
        /// </summary>
        public String DispathchCode
        {
            get;
            set;
        }
        
        /// <summary>
        /// 条码值
        /// </summary>
        public String BarCode
        {
            get;
            set;
        }
        
        /// <summary>
        /// 来源类别(0 工单API 1 手工单)
        /// </summary>
        public Int32 SourceType
        {
            get;
            set;
        }
        
        /// <summary>
        /// 退货标识(0 发 1 退)
        /// </summary>
        public Int32 BreturnFlag
        {
            get;
            set;
        }
        
        /// <summary>
        /// 业务类型
        /// </summary>
        public Int32 CbusType
        {
            get;
            set;
        }
        
        /// <summary>
        /// 销售类型
        /// </summary>
        public String SoTypeCode
        {
            get;
            set;
        }
        
        /// <summary>
        /// 客户编号
        /// </summary>
        public String CustomerCode
        {
            get;
            set;
        }
        
        /// <summary>
        /// 单据时间
        /// </summary>
        public DateTime DisDate
        {
            get;
            set;
        }
        
        /// <summary>
        /// 调拨部门编号
        /// </summary>
        public String DeptCode
        {
            get;
            set;
        }
        
        /// <summary>
        /// 调拨人员编号
        /// </summary>
        public String UserCode
        {
            get;
            set;
        }
        
        /// <summary>
        /// 币种
        /// </summary>
        public String Bz
        {
            get;
            set;
        }
        
        /// <summary>
        /// 汇率
        /// </summary>
        public Single? ExchangeRate
        {
            get;
            set;
        }
        
        /// <summary>
        /// 税率
        /// </summary>
        public Single? TaxRate
        {
            get;
            set;
        }
        
        /// <summary>
        /// 状态（0 开立 1审核 2 导入ERP）
        /// </summary>
        public Int32 Status
        {
            get;
            set;
        }
        
        /// <summary>
        /// 备注
        /// </summary>
        public String CMemo
        {
            get;
            set;
        }
        
        /// <summary>
        /// 组织ID
        /// </summary>
        public String OrgID
        {
            get;
            set;
        }
        
        /// <summary>
        /// 创建人ID
        /// </summary>
        public String CuserID
        {
            get;
            set;
        }
        
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CTime
        {
            get;
            set;
        }
        
        /// <summary>
        /// 修改人ID
        /// </summary>
        public String MUserID
        {
            get;
            set;
        }
        
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? MTime
        {
            get;
            set;
        }
        
        /// <summary>
        /// 审核人
        /// </summary>
        public String AuserID
        {
            get;
            set;
        }
        
        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? ATime
        {
            get;
            set;
        }
        
        #endregion
        #region 验证字段是否可以为空
        public List<string> Validation()
        {
            List<string> vMsgList=new List<string>();
            
                    if(Id==null){
                          vMsgList.Add("主键不可以为空！");
                    }
                    else{
                        if(Id.ToString().Trim()=="")
                        {
                              vMsgList.Add("主键不可以为空！");
                        }
                    }
                 
                    if(DispathchCode==null){
                          vMsgList.Add("发货单号不可以为空！");
                    }
                    else{
                        if(DispathchCode.ToString().Trim()=="")
                        {
                              vMsgList.Add("发货单号不可以为空！");
                        }
                    }
                 
                    if(BarCode==null){
                          vMsgList.Add("条码值不可以为空！");
                    }
                    else{
                        if(BarCode.ToString().Trim()=="")
                        {
                              vMsgList.Add("条码值不可以为空！");
                        }
                    }
                 
                    if(SourceType==null){
                          vMsgList.Add("来源类别(0 工单API 1 手工单)不可以为空！");
                    }
                    else{
                        if(SourceType.ToString().Trim()=="")
                        {
                              vMsgList.Add("来源类别(0 工单API 1 手工单)不可以为空！");
                        }
                    }
                 
                    if(BreturnFlag==null){
                          vMsgList.Add("退货标识(0 发 1 退)不可以为空！");
                    }
                    else{
                        if(BreturnFlag.ToString().Trim()=="")
                        {
                              vMsgList.Add("退货标识(0 发 1 退)不可以为空！");
                        }
                    }
                 
                    if(CbusType==null){
                          vMsgList.Add("业务类型不可以为空！");
                    }
                    else{
                        if(CbusType.ToString().Trim()=="")
                        {
                              vMsgList.Add("业务类型不可以为空！");
                        }
                    }
                 
                    if(SoTypeCode==null){
                          vMsgList.Add("销售类型不可以为空！");
                    }
                    else{
                        if(SoTypeCode.ToString().Trim()=="")
                        {
                              vMsgList.Add("销售类型不可以为空！");
                        }
                    }
                 
                    if(CustomerCode==null){
                          vMsgList.Add("客户编号不可以为空！");
                    }
                    else{
                        if(CustomerCode.ToString().Trim()=="")
                        {
                              vMsgList.Add("客户编号不可以为空！");
                        }
                    }
                 
                    if(DisDate==null){
                          vMsgList.Add("单据时间不可以为空！");
                    }
                    else{
                        if(DisDate.ToString().Trim()=="")
                        {
                              vMsgList.Add("单据时间不可以为空！");
                        }
                    }
                 
                    if(DeptCode==null){
                          vMsgList.Add("调拨部门编号不可以为空！");
                    }
                    else{
                        if(DeptCode.ToString().Trim()=="")
                        {
                              vMsgList.Add("调拨部门编号不可以为空！");
                        }
                    }
                 
                    if(UserCode==null){
                          vMsgList.Add("调拨人员编号不可以为空！");
                    }
                    else{
                        if(UserCode.ToString().Trim()=="")
                        {
                              vMsgList.Add("调拨人员编号不可以为空！");
                        }
                    }
                 
                    if(Status==null){
                          vMsgList.Add("状态（0 开立 1审核 2 导入ERP）不可以为空！");
                    }
                    else{
                        if(Status.ToString().Trim()=="")
                        {
                              vMsgList.Add("状态（0 开立 1审核 2 导入ERP）不可以为空！");
                        }
                    }
                 
                    if(OrgID==null){
                          vMsgList.Add("组织ID不可以为空！");
                    }
                    else{
                        if(OrgID.ToString().Trim()=="")
                        {
                              vMsgList.Add("组织ID不可以为空！");
                        }
                    }
                 
                    if(CuserID==null){
                          vMsgList.Add("创建人ID不可以为空！");
                    }
                    else{
                        if(CuserID.ToString().Trim()=="")
                        {
                              vMsgList.Add("创建人ID不可以为空！");
                        }
                    }
                 
                    if(CTime==null){
                          vMsgList.Add("创建时间不可以为空！");
                    }
                    else{
                        if(CTime.ToString().Trim()=="")
                        {
                              vMsgList.Add("创建时间不可以为空！");
                        }
                    }
                 
            return vMsgList;
        }


        #endregion

        #region 扩展
        public string CustomerName { get; set; }
        public string UserName { get; set; }
        public string DeptName { get; set; }

        public List<Dispatchlists> Body { get; set; }
        #endregion
    }
}